// POJ1804 Brainman
// 陈锋
#include <algorithm>
#include <cassert>
#include <cstdio>
using namespace std;

const int NN = 1000 + 4;
int N, A[NN], B[NN];
int merge(int l, int r) {  // 归并排序求A[l,r)的逆序对数
  if (r - l <= 1) return 0;
  int mid = (l + r) / 2, ans = merge(l, mid) + merge(mid, r);
  copy(A + l, A + r, B + l);  // A[l,r)->B[l,r)
  int a = l, b = mid, i = l;
  while (a < mid || b < r) {
    if ((a < mid && B[a] <= B[b]) || b >= r)
      A[i++] = B[a++];
    else  // 左边所有比B[b]大的数分别与B[b]构成逆序对
      ans += mid - a, A[i++] = B[b++];
  }
  return ans;
}

int main() {
  int T = 0;
  scanf("%d", &T);
  for (int k = 1; k <= T; k++) {
    if (k > 1) printf("\n");
    scanf("%d", &N);
    for (int i = 0; i < N; i++) scanf("%d", &A[i]);
    int ans = merge(0, N);
    printf("Scenario #%d:\n%d\n", k, ans);
  }

  return 0;
}
/*
算法分析请参考: 《入门经典-第2版》8.2.1 归并排序 逆序对问题
注意本题中归并排序的合并部分仅仅使用了一个循环
*/
// Accepted 32ms 332kB 801 G++ 2020-08-09 15:52:41